/**
 * Create in 2012-7-27.
 */
package kit4j.tests.jdk.swing.dnd.table;

/**
 * {@link DndTableModel}对象的持有者接口。可通过此接口进行DndTableModel对象的添加和移除操作。
 * 
 * @author MiniKnife
 * 
 */
public interface DndTableModelHandler<T> {

	/**
	 * 添加数据模型到该持有对象中。
	 * 
	 * @param model
	 *            要添加的数据模型
	 * @return 如果成功添加到该持有对象中，则返回true，否则返回false。
	 */
	public boolean addModel(DndTableModel<T> model);

	/**
	 * 从该持有对象中移除指定的数据模型。
	 * 
	 * @param model
	 *            要移除的数据模型
	 * @return 如果成功从持有对象中移除，则返回true，否则返回false。
	 */
	public boolean removeModel(DndTableModel<T> model);
	
	/**
	 * @return 该持有对象持有的数据模型数组。
	 */
	public DndTableModel<T>[] getModels();
	
	/**
	 * 从该持有对象中移除所有的数据模型。
	 */
	public void removeAllModels();
}
